package leetcode;

/*
412. Fizz Buzz
写一个程序，输出从 1 到 n 数字的字符串表示。
1. 如果 n 是3的倍数，输出“Fizz”；
2. 如果 n 是5的倍数，输出“Buzz”；
3.如果 n 同时是3和5的倍数，输出 “FizzBuzz”。
示例：
n = 15,
返回:
[
    "1",
    "2",
    "Fizz",
    "4",
    "Buzz",
    "Fizz",
    "7",
    "8",
    "Fizz",
    "Buzz",
    "11",
    "Fizz",
    "13",
    "14",
    "FizzBuzz"
]
*/

import java.util.ArrayList;
import java.util.List;

public class problems_412 {
    public static void main(String[] arge) {
        System.out.println(new Solution().fizzBuzz(20));
    }
    static class Solution {
        public List<String> fizzBuzz(int n) {
            List<String> ret = new ArrayList<>();
            for (int i = 1; i <= n; i++) {
                StringBuffer str = new StringBuffer(16);
                if(i % 3 == 0) str.append("Fizz");
                if(i % 5 == 0) str.append("Buzz");
                if(str.length() == 0) str.append(i);
                ret.add(str.toString());
            }
            return ret;
        }
    }
}